An interference check device is a device that checks for the possibility of collisions between an industrial robot and peripheral devices thereof in order to prevent occurrence of collisions. By checking for the possibility of a collision, if there is a possibility of a collision, the interference check device outputs an appropriate command value (a command value for stopping a robot or correcting the motion trajectory thereof) to a robot or the like, thereby preventing occurrence of a collision. Particularly, in an interference check device that performs an online interference check even when a robot is in operation, the actual detailed shapes of the industrial robot and peripheral devices thereof are not used, but are replaced by models (for example, a spherical body or a cylindrical body) that enable easy and fast calculation processing of an interference check in order to perform an interference check between the models.
When replacing a modeling target (an object) such as a robot body with a model, the interference check device divides the modeling target into a plurality of regions in advance while taking into consideration the number of movable axes of joints (flexibility of a mechanism) or the like. The interference check device arranges the model such that each region is enclosed by a simple geometric model (such as a spherical body, a cylindrical body, a cuboid, or a polyhedron), referred to as a “primitive”. Further, the interference check device calculates the shortest distance between the respective primitives and if the shortest distance becomes shorter than 0 or a predetermined distance set in advance, the interference check device determines that “interference will occur” and outputs a stop command to start a stop operation.
A specific model generation method for a modeling target is described here. Modeling requires that “a modeling target is enclosed in a state where a model is larger than the modeling target”. Regarding enclosure of the target, if the target is enclosed within an excess space and the model setting is too large, it causes an erroneous determination that “interference has occurred”, although there is no possibility of interference between the targets. Therefore, when modeling is performed, it is important to effectively enclose the entire target by using a model having a small excess space.
As a model used for an interference check, a method of using a spherical body having advantageous unit determination calculation cost has been used hitherto. Even when a determination between spherical bodies is performed, if the possibility of interference is determined for all the models being present, the calculation cost increases by as much as the combinations of the models. Accordingly, in order to increase the efficiency of calculation processing, a method of determining the possibility of interference not for all the models at all times but determining in detail only for a portion having a possibility of interference has been proposed.
According to this method, for example, a model having a large radius and roughly modeled by a small number of models and a model having a small radius and modeled in detail by a large number of models are prepared hierarchically with respect to a robot. By adopting a method of performing a determination of interference between rough models first, and if there is a possibility of interference, performing a determination of interference between detailed models, the calculation cost is reduced with high accuracy (for example, see Patent Literature 1).
In a field where an offline or online interference check of a robot or the like is required, it is desired to perform the interference check by using a model that is modeled accurately as described above.